package forestsimulatorp3.model.beings;

import forestsimulatorp3.model.beings.abstrakt.LivingBeing;
import java.util.Set;

import forestsimulatorp3.model.position.Area;
import forestsimulatorp3.model.position.Square;
import forestsimulatorp3.model.simulator.Logger;

public interface Environment {

    public int getNextAvailableId();

    public boolean removeLivingBeing(LivingBeing being);

    public boolean addLivingBeing(LivingBeing being);

    public Set<LivingBeing> getLivingBeings();

    public void setLivingBeings(Set<LivingBeing> livingBeings);

    public Logger getLogger();

    public void setLogger(Logger logger);

    public Area getArea();

    public void setArea(Area positionManager);
    
    public Square moveTo(Square from, Square to);

    public void advanceCycle();
}